release: v1.0.0-rc.0: Vitest 5 migration and npm provenance checks - #2780
Conversation
🚀 Deploying Preview to Cloudflare 🚀Preview URL: https://release-v1-0-0-rc-0-viteplus-dev.voidzero-docs.workers.dev (commit e0f77ee)This URL reflects your latest Preview deploymentPreview Deployments by commit
|
NAPI bakes the package.json version into binding/index.cjs version checks. The prepare_release workflow bumps package.json but does not regenerate this file, so the CI build's regeneration step produces a diff that the post-build no-unexpected-changes guard rejects.
|
✅ Staging deployment successful! Preview: https://viteplus-staging.void.app/ |
CLI artifact sizes (
|
| Artifact | Format | Base | PR | Change |
|---|---|---|---|---|
packages/cli/dist |
Directory total | 2.12 MiB | 2.12 MiB | +27 B (+0.00%) |
packages/core/dist |
Directory total | 3.95 MiB | 3.95 MiB | +80 B (+0.00%) |
| Combined package dist | Directory total | 6.07 MiB | 6.07 MiB | +107 B (+0.00%) |
vp (Linux x64) |
Binary | 11.28 MiB | 11.28 MiB | 0 B (0.00%) |
vp (Linux x64) |
gzip -9 | 4.88 MiB | 4.88 MiB | +21 B (+0.00%) |
| NAPI (Linux x64) | Binary | 32.11 MiB | 32.11 MiB | 0 B (0.00%) |
| NAPI (Linux x64) | gzip -9 | 12.74 MiB | 12.73 MiB | -4.28 KiB (-0.03%) |
vp (macOS ARM64) |
Binary | 8.41 MiB | 8.41 MiB | 0 B (0.00%) |
vp (macOS ARM64) |
gzip -9 | 4.26 MiB | 4.26 MiB | -64 B (-0.00%) |
| NAPI (macOS ARM64) | Binary | 39.72 MiB | 39.72 MiB | 0 B (0.00%) |
| NAPI (macOS ARM64) | gzip -9 | 17.04 MiB | 17.04 MiB | -1.30 KiB (-0.01%) |
vp (Windows x64) |
Binary | 9.16 MiB | 9.16 MiB | 0 B (0.00%) |
vp (Windows x64) |
gzip -9 | 4.00 MiB | 4.00 MiB | +155 B (+0.00%) |
| NAPI (Windows x64) | Binary | 27.07 MiB | 27.07 MiB | 0 B (0.00%) |
| NAPI (Windows x64) | gzip -9 | 10.84 MiB | 10.84 MiB | -566 B (-0.00%) |
| Trampoline (Windows x64) | Binary | 13.50 KiB | 13.50 KiB | 0 B (0.00%) |
| Trampoline (Windows x64) | gzip -9 | 7.09 KiB | 7.09 KiB | +1 B (+0.01%) |
| Installer (Windows x64) | Binary | 4.56 MiB | 4.56 MiB | 0 B (0.00%) |
| Installer (Windows x64) | gzip -9 | 2.13 MiB | 2.13 MiB | 0 B (0.00%) |
Registry bridge build (
|
| Package | Version |
|---|---|
vite-plus |
0.0.0-commit.e0f77ee2353b38c77d7165d3305f9f6d705b4d62 |
@voidzero-dev/vite-plus-core |
0.0.0-commit.e0f77ee2353b38c77d7165d3305f9f6d705b4d62 |
Install the Vite+ CLI built from this commit, then migrate a project:
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/e0f77ee2353b38c77d7165d3305f9f6d705b4d62/packages/cli/install.sh | VP_PR_VERSION=2780 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/voidzero-dev/vite-plus/e0f77ee2353b38c77d7165d3305f9f6d705b4d62/packages/cli/install-legacy.sh bash# Windows (PowerShell)
$env:VP_PR_VERSION="2780"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/voidzero-dev/vite-plus/e0f77ee2353b38c77d7165d3305f9f6d705b4d62/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/e0f77ee2353b38c77d7165d3305f9f6d705b4d62/packages/cli/install.ps1 | iexOr download the standalone Windows installer built from this commit:
| Architecture | Installer |
|---|---|
| x64 | vp-setup-x86_64-pc-windows-msvc.exe |
| Arm64 | vp-setup-aarch64-pc-windows-msvc.exe |
GitHub requires you to sign in and downloads each installer as a ZIP artifact. Extract vp-setup.exe, then run it against this preview build:
.\vp-setup.exe --version "0.0.0-commit.e0f77ee2353b38c77d7165d3305f9f6d705b4d62" --registry "https://registry-bridge.viteplus.dev/"After installing, upgrade the current project's vite-plus to this test build with:
vp migrateOr point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:
| Package manager | Registry config |
|---|---|
| npm / pnpm / Bun | .npmrc: registry=https://registry-bridge.viteplus.dev/ |
| Yarn (v2+) | .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/" |
Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):
{
"devDependencies": {
"vite-plus": "0.0.0-commit.e0f77ee2353b38c77d7165d3305f9f6d705b4d62",
"vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.e0f77ee2353b38c77d7165d3305f9f6d705b4d62"
}
}
🐳 Docker preview imageBuilt from this PR's registry bridge build:
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-2780 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2780Quick check: docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2780 vp --versionSee docs/guide/docker.md for usage. |
|
Congratulations! |
|
Congrats 💜 |
Vite+ now uses Vitest 5, and
vp migratehelps Vitest 4 projects adopt the new APIs and defaults. Standalone installs and upgrades now require verified npm provenance for release binaries.Breaking Changes
Vitest 5
vp testand the publicvite-plus/test*exports now usevitest@5.0.1(#2551), by @fengmk2.vitest@4.1.11vitest@5.0.1^20.19.0 || ^22.18.0 || >=24.11.0^22.18.0 || ^24.11.0 || >=26.0.0vite-plus/test/runnersandvite-plus/test/suitevite-plus/test; review unsupported runner and expect pluginsvite-plus/test/browser-webdriverio@vitest/browser-webdriveriopackageRun
vp migratefrom the workspace root before you install the new dependencies. The migrator updates supported config, source, benchmark, command, and import changes. It reports manual work asBLOCKorREVIEWitems. See the Vitest 5 migration guide for the full process. Projects can stay on the prior release until their runtimes and tests are ready.vp stagedruntime requirementsvp stagednow useslint-staged@17.5.1(#2754), by @fengmk2.vp staged^22.22.1 || ^24.11.0 || >=26.0.0>=2.32.0Update Node.js and Git on developer machines and CI runners that execute
vp stagedor its pre-commit hook. Other workflows do not use these extra requirements.Highlights
vp upgrade, andvp-setup.exenow reject release binaries without supported SLSA provenance (#2440), by @kazupon.PATH. Setup restores missing package-manager preferences (#2758, #2763), by @liangmiQwQ and @fengmk2.vp runnow finishes when background processes remain. Large file traces run without caching instead of killing the task (#2767, vite-task#675), by @wan9chi.Features
vp addnow supports shared install options such as--offline,--frozen-lockfile, and--lockfile-only(#2722), by @jong-kyung.vp pm patchandvp pm patch-commitnow use the native commands in npm 12 and later (#2736), by @jong-kyung.vp rebuildnow supports Yarn Berry and forwards package names and extra arguments (#2761), by @jong-kyung.oxlint1.83.0->1.85.0,oxlint-tsgolint7.0.2001->7.0.2002, andoxfmt0.68.0->0.70.0(#2745, #2773, #2778), by @voidzero-guard[bot]. These versions can flag or format code that passed before. Runvp fmtafter upgrading if CI runsvp check.Fixes & Enhancements
oxlintandoxfmtno longer expose bin wrappers that conflict with upstream packages. Editors must usevp lint --lsp,vp fmt --lsp, orvp fmt --stdin-filepath(#2672), by @fengmk2.vp create vite:generatornow replaces catalog references for package managers that do not support catalogs (#2720), by @SaKaNa-Y.vp migratenow removes unused@oxlint/pluginsdependencies after it rewrites plugin imports (#2751), by @fengmk2.vp update --no-savenow warns that Yarn Classic and Yarn Berry do not support the option (#2762), by @jong-kyung.vp migratenow explains itstsdown@0.23compatibility settings and links to removal guidance (#2769), by @fengmk2.pnandpnxaliases for pnpm (#2770), by @iruoy.vp run(vite-task#691), by @naokihaba.Refactor
vp lint,vp fmt, andvp checknow use native config discovery. Package commands keep matching workspace-root settings, while explicit config flags take precedence (#2731), by @fengmk2.Chore
vp migratenow usesetup-vp@v1.21.1, including its installation fixes (#2760, #2772), by @renovate[bot] and @fengmk2.Bundled Versions
8.3.0434e8e91.2.95b4746e0.23.05.0.11.85.07.0.20020.70.0Upgrade
New Contributors
@YanChenBai, @iruoy
Full Changelog: v0.3.3...v1.0.0-rc.0
Merging this PR will trigger the release workflow.